HPD Retrieval API icon

HPD Retrieval API

(0 reviews)

Search HPD Entity Request

URL: POST /api/{{PATH_NAME}}/v1/{{SLUG_NAME}}

Where:

PATH_NAME is mandatory and can be one of the following:

  • organizationQuery
  • locationQuery
  • practitionerQuery
  • practionerroleQuery

REQUEST PAYLOAD PATTERN

Search Payload Pattern

{
"organizationQuery": {{QUERY_OBJECT}},
"pageSize": 10,
"queryResultType": "{{RETURN_TYPE}}"
"sortBy": "{{FIELD_NAME}}",
"sortDirection": "{{SORT_DIRECTION}}"
}

Where:
- pageSize value must be numeric. This field is optional. Value is between 0 to 100 (inclusive). - queryResultType (optional) value can be one of the following:
  • JsonAttribute - Default value
  • FhirAttribute
  • FhirBundleAttribute
- sortBy (optional)
- sortDirection (optional) can be either one of the following:
  • ASC - for ascending order - Default value
  • DESC - for descending order
- QUERY_OBJECT

{
"operator": "{{OPERATOR}}",
"queryGroup":
[
{
"operator": "{{OPERATOR}}",
"queryGroups": [],
"queryCriteria":
[
{
"name": {{FIELD_NAME}},
"operator": "{{COMPARER}}",
"value":"{{VALUE}}"
}
]
},
],
"queryCriteria":
[
{
"name": "{{FIELD_NAME}}",
"operator": "{{COMPARER}}",
"value": "{{VALUE}}"
}
]
}

Where:

  • operator can be one of the following values:
    • AND - Combine all query criteria as AND - Default value
    • OR - Combine all query criteria as OR
  • queryCriteria.operator (also called comparer) can be one of the following values:
    • EQUALS
    • STRINGEQUALS
    • NOT_EQUALS
    • GREATER_THAN
    • GREATER_THAN_OR_EQUAL
    • LESS_THAN
    • LESS_THAN_OR_EQUAL
    • CONTAINS
    • STARTS_WITH
    • ENDS_WITH
    • IN
    • OR
    • AND
    • LIST_CONTAINS
    • queryGroup - collection of queryCriteria to support complex queries

Validation Rule:

  1. Primary Query object key field must match with the pathname and is mandatory. If unmatched then issue error 400 (bad request)
  2. If queryCriteria is not empty then all key fields underneath it is mandatory, namely name, operator, value.

SAMPLE REQUEST PAYLOAD - SIMPLE QUERY

POST /api/practitionerRoleQuery/v1/hpd-practitioner-role-all-verbose
{
"practitionerRoleQuery": {
"operator": "AND",
"queryGroup": [],
"queryCriteria": [
{
"name": "cpn",
"operator": "STRINGEQUALS",
"value": "95ZZHW"
}]
},
"pageSize": 10,
"queryResultType": "FhirBundleAttribute",
"sortBy": "cpn",
"sortDirection": "ASC"
}

SAMPLE REQUEST PAYLOAD - COMPLEX QUERY

Sample Use Case: ((Org with id = "c294e55b-74e6-498d-8006-0e21e09c138e") AND (practitioner.value contains "Thomas" or CPN contains "Thomas" or rolecode.value contains "Thomas" or...))

"queryGroup":
{
"operator": "AND",
"queryGroups": [
{
"operator": "AND",
"queryGroups": [
{
"operator": "AND",
"queryGroups": [],
"queryCriteria": [
{
"name": "organisation/id",
"operator": "EQUAL",
"value": [
"c294e55b-74e6-498d-8006-0e21e09c138e"
]
}
]
},
{
"operator": "OR",
"queryGroups": [],
"queryCriteria": [
{
"name": "practitioner/value",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "cpn",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "roleCode/value",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "organisation/value",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "location/value",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "hpiId",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "registrationPrimaryId",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "issuerReference/value",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "primaryRegistrationStatus",
"operator": "CONTAINS",
"value": "Thomas"
},
{
"name": "allScopesOfPractice",
"operator": "CONTAINS",
"value": "Thomas"
}
]
}
],
"queryCriteria": []
},
{
"operator": "AND",
"queryGroups": [],
"queryCriteria": []
}
],
"queryCriteria": []
}


Reviews